package org.gr.ias.common.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class PaymentJournal implements Serializable {
    /** 支付批次号*/
    private String paymentBatchNum;

    /** 订单编号*/
    private String orderNo;

    /** 交易请求时间*/
    private Date transRequestTime;

    /** 交易请求数据类型(0:文本、1:json、2:xml)*/
    private String transRequestDataType;

    /** 交易请求数据*/
    private String transRequestData;

    /** 交易请求签名数据*/
    private String transRequestSignatureData;

    /** 交易响应时间*/
    private Date transResponseTime;

    /** 交易响应数据类型(0:文本、1:json、2:xml)*/
    private String transResponseDataType;

    /** 交易响应数据*/
    private String transResponseData;

    /** 交易响应签名数据*/
    private String transResponseSignatureData;

    /** 交易状态(0:处理中、1:交易成功、2:交易失败)*/
    private String transStatus;

    /** 交易类型(0:付款、1:退款)*/
    private String transType;

    /** 币种(156:人名币)*/
    private String currency;

    /** 金额*/
    private BigDecimal amount;

    /** 支付类型(000:银联、100:支付宝)*/
    private String paymentType;

    /** 支付卡号*/
    private String paymentCardNum;

    /** 对账状态(0:未对账、1:对账失败、2:对账成功)*/
    private String checkStatus;

    /** 对账次数*/
    private Integer checkNum;

    /** 版本号*/
    private Integer version;

    private static final long serialVersionUID = 1L;

    public String getPaymentBatchNum() {
        return paymentBatchNum;
    }

    public void setPaymentBatchNum(String paymentBatchNum) {
        this.paymentBatchNum = paymentBatchNum == null ? null : paymentBatchNum.trim();
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo == null ? null : orderNo.trim();
    }

    public Date getTransRequestTime() {
        return transRequestTime;
    }

    public void setTransRequestTime(Date transRequestTime) {
        this.transRequestTime = transRequestTime;
    }

    public String getTransRequestDataType() {
        return transRequestDataType;
    }

    public void setTransRequestDataType(String transRequestDataType) {
        this.transRequestDataType = transRequestDataType == null ? null : transRequestDataType.trim();
    }

    public String getTransRequestData() {
        return transRequestData;
    }

    public void setTransRequestData(String transRequestData) {
        this.transRequestData = transRequestData == null ? null : transRequestData.trim();
    }

    public String getTransRequestSignatureData() {
        return transRequestSignatureData;
    }

    public void setTransRequestSignatureData(String transRequestSignatureData) {
        this.transRequestSignatureData = transRequestSignatureData == null ? null : transRequestSignatureData.trim();
    }

    public Date getTransResponseTime() {
        return transResponseTime;
    }

    public void setTransResponseTime(Date transResponseTime) {
        this.transResponseTime = transResponseTime;
    }

    public String getTransResponseDataType() {
        return transResponseDataType;
    }

    public void setTransResponseDataType(String transResponseDataType) {
        this.transResponseDataType = transResponseDataType == null ? null : transResponseDataType.trim();
    }

    public String getTransResponseData() {
        return transResponseData;
    }

    public void setTransResponseData(String transResponseData) {
        this.transResponseData = transResponseData == null ? null : transResponseData.trim();
    }

    public String getTransResponseSignatureData() {
        return transResponseSignatureData;
    }

    public void setTransResponseSignatureData(String transResponseSignatureData) {
        this.transResponseSignatureData = transResponseSignatureData == null ? null : transResponseSignatureData.trim();
    }

    public String getTransStatus() {
        return transStatus;
    }

    public void setTransStatus(String transStatus) {
        this.transStatus = transStatus == null ? null : transStatus.trim();
    }

    public String getTransType() {
        return transType;
    }

    public void setTransType(String transType) {
        this.transType = transType == null ? null : transType.trim();
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency == null ? null : currency.trim();
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType == null ? null : paymentType.trim();
    }

    public String getPaymentCardNum() {
        return paymentCardNum;
    }

    public void setPaymentCardNum(String paymentCardNum) {
        this.paymentCardNum = paymentCardNum == null ? null : paymentCardNum.trim();
    }

    public String getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus == null ? null : checkStatus.trim();
    }

    public Integer getCheckNum() {
        return checkNum;
    }

    public void setCheckNum(Integer checkNum) {
        this.checkNum = checkNum;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PaymentJournal other = (PaymentJournal) that;
        return (this.getPaymentBatchNum() == null ? other.getPaymentBatchNum() == null : this.getPaymentBatchNum().equals(other.getPaymentBatchNum()))
            && (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
            && (this.getTransRequestTime() == null ? other.getTransRequestTime() == null : this.getTransRequestTime().equals(other.getTransRequestTime()))
            && (this.getTransRequestDataType() == null ? other.getTransRequestDataType() == null : this.getTransRequestDataType().equals(other.getTransRequestDataType()))
            && (this.getTransRequestData() == null ? other.getTransRequestData() == null : this.getTransRequestData().equals(other.getTransRequestData()))
            && (this.getTransRequestSignatureData() == null ? other.getTransRequestSignatureData() == null : this.getTransRequestSignatureData().equals(other.getTransRequestSignatureData()))
            && (this.getTransResponseTime() == null ? other.getTransResponseTime() == null : this.getTransResponseTime().equals(other.getTransResponseTime()))
            && (this.getTransResponseDataType() == null ? other.getTransResponseDataType() == null : this.getTransResponseDataType().equals(other.getTransResponseDataType()))
            && (this.getTransResponseData() == null ? other.getTransResponseData() == null : this.getTransResponseData().equals(other.getTransResponseData()))
            && (this.getTransResponseSignatureData() == null ? other.getTransResponseSignatureData() == null : this.getTransResponseSignatureData().equals(other.getTransResponseSignatureData()))
            && (this.getTransStatus() == null ? other.getTransStatus() == null : this.getTransStatus().equals(other.getTransStatus()))
            && (this.getTransType() == null ? other.getTransType() == null : this.getTransType().equals(other.getTransType()))
            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getPaymentType() == null ? other.getPaymentType() == null : this.getPaymentType().equals(other.getPaymentType()))
            && (this.getPaymentCardNum() == null ? other.getPaymentCardNum() == null : this.getPaymentCardNum().equals(other.getPaymentCardNum()))
            && (this.getCheckStatus() == null ? other.getCheckStatus() == null : this.getCheckStatus().equals(other.getCheckStatus()))
            && (this.getCheckNum() == null ? other.getCheckNum() == null : this.getCheckNum().equals(other.getCheckNum()))
            && (this.getVersion() == null ? other.getVersion() == null : this.getVersion().equals(other.getVersion()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getPaymentBatchNum() == null) ? 0 : getPaymentBatchNum().hashCode());
        result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
        result = prime * result + ((getTransRequestTime() == null) ? 0 : getTransRequestTime().hashCode());
        result = prime * result + ((getTransRequestDataType() == null) ? 0 : getTransRequestDataType().hashCode());
        result = prime * result + ((getTransRequestData() == null) ? 0 : getTransRequestData().hashCode());
        result = prime * result + ((getTransRequestSignatureData() == null) ? 0 : getTransRequestSignatureData().hashCode());
        result = prime * result + ((getTransResponseTime() == null) ? 0 : getTransResponseTime().hashCode());
        result = prime * result + ((getTransResponseDataType() == null) ? 0 : getTransResponseDataType().hashCode());
        result = prime * result + ((getTransResponseData() == null) ? 0 : getTransResponseData().hashCode());
        result = prime * result + ((getTransResponseSignatureData() == null) ? 0 : getTransResponseSignatureData().hashCode());
        result = prime * result + ((getTransStatus() == null) ? 0 : getTransStatus().hashCode());
        result = prime * result + ((getTransType() == null) ? 0 : getTransType().hashCode());
        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getPaymentType() == null) ? 0 : getPaymentType().hashCode());
        result = prime * result + ((getPaymentCardNum() == null) ? 0 : getPaymentCardNum().hashCode());
        result = prime * result + ((getCheckStatus() == null) ? 0 : getCheckStatus().hashCode());
        result = prime * result + ((getCheckNum() == null) ? 0 : getCheckNum().hashCode());
        result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", paymentBatchNum=").append(paymentBatchNum);
        sb.append(", orderNo=").append(orderNo);
        sb.append(", transRequestTime=").append(transRequestTime);
        sb.append(", transRequestDataType=").append(transRequestDataType);
        sb.append(", transRequestData=").append(transRequestData);
        sb.append(", transRequestSignatureData=").append(transRequestSignatureData);
        sb.append(", transResponseTime=").append(transResponseTime);
        sb.append(", transResponseDataType=").append(transResponseDataType);
        sb.append(", transResponseData=").append(transResponseData);
        sb.append(", transResponseSignatureData=").append(transResponseSignatureData);
        sb.append(", transStatus=").append(transStatus);
        sb.append(", transType=").append(transType);
        sb.append(", currency=").append(currency);
        sb.append(", amount=").append(amount);
        sb.append(", paymentType=").append(paymentType);
        sb.append(", paymentCardNum=").append(paymentCardNum);
        sb.append(", checkStatus=").append(checkStatus);
        sb.append(", checkNum=").append(checkNum);
        sb.append(", version=").append(version);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}